WordPress-debuggausta on helppo tehdä, kun pääsee käsiksi virhelokeihin ja komentoriviin. Aina ei pääse, jolloin saakin raapia päätään sen suhteen, miten päästä esimerkiksi ajax-prosessien toimintaan.
Silloin auttaa error_log()-komennon mahdollisuus lähettää tiedot virhelokin sijasta sähköpostiin:
error_log( 'Virheilmoitus', 1, 'mikko@example.com' );
Tämä lähettäisi virheviestin sähköpostilla osoitteeseen mikko@example.com. Näppärää! Vaan entäs jos sähköpostiakaan ei voi lähettää? Siihenkin on näppärä niksi.
Luo tyhjä sivu tai artikkeli ja nappaa sen ID-numero talteen. Oletetaan numeroksi vaikka 123. Sitten vain lisätään tällainen funktio:
function virheloki_artikkeliin( $viesti ) {
$_post = get_post( 123 );
$data = array(
'ID' => $_post->ID,
'post_content' => $_post->post_content . "\n" . $viesti,
);
wp_update_post( $data );
}
// Jos sattumalta debuggaat Relevanssi-asioita, lisää myös tämä:
add_filter( 'relevanssi_indexing_restriction', 'ei_testijuttua_indeksiin' );
function ei_testijuttua_indeksiin( $restriction ) {
$restriction['mysql'] .= " AND post.ID != 123 ";
$restriction['reason'] .= ' Testijuttu.';
return $restriction;
}Tämän jälkeen voit logata vaikkapa näin:
add_filter( 'relevanssi_indexing_data', 'indeksointitesti', 10, 2 );
function indeksointitesti( $data, $_post ) {
virheloki_artikkeliin( 'Indeksoidaan artikkelia ' . $_post->ID );
return $data;
}Virheilmoitukset tulostuvat nyt siististi artikkelin 123 sisältöön. Sisältöä voit tarkastella ja nollata näppärästi WordPressin artikkelieditorista.